<?php

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;

use DB;

class SellerController extends Controller
{
    //添加卖家页面方法
    public function add(Request $request)
    {
    	//标题
    	$title = '添加卖家';

      //会话跟踪
      $staff = $request->session()->get('staff');

    	//返回视图
    	return view('admin/seller/add',['title'=>$title,'staff' => $staff]);
    }

    //insert这是卖家执行添加
    public function insert(Request $request)
    {   //获取添加页面提交上来的数据,并去除了'_token'隐藏的数据
       $data = $request -> except('_token');
       //检测添加页面的数据并执行响应
       $this -> validate($request,[
            'name' => 'required|max:8|min:2',
            'sex' => 'required',
            'qq' => 'required|min:5|max:15',
            'uid' => 'required',

        ],[

            'name.required' => '用户昵称不能为空',
            'name.max' => '用户昵称请输入2~8位', 
            'name.min' => '用户昵称请输入2~8位',        
            'sex.required' => '性别不能为空',    
            'qq.required' => 'QQ不能为空',
            'qq.min' => '请输入正确的QQ',
            'qq.max' => '请输入正确的QQ',
            'uid.required' => '用户ID不能为空',
            
        ]);
       $data['atime'] = time();//添加卖家注册时间;
      
       // dd($data);
       // dd($data);
       //执行数据添加操作
       // echo $data['password'];
       
       // 验证用户昵称是否已经存在
       $res = DB::table('bro_seller') -> where('name',$data['name']) -> get();
       // dd($res);
       if(!empty($res))
       {
        return back() -> with('olduname','用户名已存在');
       }
       //处理pic地址,存入数据库
       
       //设置用户状态的值
       $data['status'] = 0;

       //将数据发送到数据库
       $res = DB::table('bro_seller') -> insert($data);

       //执行发送判断
       if($res)
       {
         return redirect('/admin/seller/index') -> with('success','卖家添加成功');
       }else{
         return back() -> with('error','卖家添加失败');
       }

    }

    // 卖家列表页的index方法
    public function index(Request $request)
    {
        $title = '卖家列表';


        //会话跟踪
        $staff = $request->session()->get('staff');

        $data = DB::table('bro_seller') ->where(function($query) use ($request){
            $query -> where('name','like','%'.$request -> input('keywords').'%');
        }) -> paginate($request -> input('num',10));

        //向用户列表发送数据
        return view('admin.seller.index',['title' => $title,'data' => $data,'request' => $request -> all(),'staff' => $staff]);

    }

    //卖家编辑页面方法
    public function edit(Request $request,$id)
    {
    	
    	 $title= '卖家编辑';

        //会话跟踪
        $staff = $request->session()->get('staff');

        //执行数据查询
        $data = DB::table('bro_seller') -> where('id',$id) -> first();
        // dd($data);
        //解析模板
        return view('/admin/seller/edit',['title'=>$title,'data'=>$data,'staff' => $staff]);
    }

    //卖家修改方法
    public function update(Request $request)
    {
    	//获取添加页面提交上来的数据,并去除了'_token'隐藏的数据
       $data = $request -> except('_token');
       //检测添加页面的数据并执行响应
       $this -> validate($request,[
            'name' => 'required|max:8|min:2',
            'sex' => 'required',
            'qq' => 'required|min:5|max:15',
            'uid' => 'required',

        ],[

            'name.required' => '用户昵称不能为空',
            'name.max' => '用户昵称请输入2~8位', 
            'name.min' => '用户昵称请输入2~8位',        
            'sex.required' => '性别不能为空',    
            'qq.required' => 'QQ不能为空',
            'qq.min' => '请输入正确的QQ',
            'qq.max' => '请输入正确的QQ',
            'uid.required' => '用户ID不能为空',
            
        ]);
       // dd($data);
       //执行修改操作
    	$res = DB::table('bro_seller') -> where('id',$data['id']) ->update($data);

    	//判断修改是否成功
    	if($res)
       {
         return redirect('/admin/seller/index') -> with('success','卖家修改成功');
       }else{
         return back() -> with('error','卖家修改失败');
       }
    }

    //卖家删除操作
    public function delete($id)
    {
    	// dd($id);
    	// 删除卖家
    	$res = DB::table('bro_seller') -> where('id',$id) -> delete();

    	//判断是否删除成功
    	if($res)
    	{
         return redirect('/admin/seller/index') -> with('success','卖家删除成功');
       	}else{
         return back() -> with('error','卖家删除失败');
       	}	
    	
    }
}
